#ifdef __GNUC__
#include <res/static_resource.h>

namespace imgui_font_data
{
#include "imgui_font.inl"
} // namespace imgui_font_data

namespace base_vert_shader
{
#include "base_vert_shader.inl"
} // namespace base_vert_shader

namespace base_frag_shader
{
#include "base_frag_shader.inl"
} // namespace base_frag_shader

namespace primal
{
    namespace res
    {
        bool get_shader_byte(utl::filebytes &storage, SHADER_BYTE_TYPE type)
        {
            switch (type)
            {
            case BaseVert:
                storage.resize(base_vert_shader::size);
                memcpy(storage.data(), base_vert_shader::data, base_vert_shader::size);
                break;
            case BaseFrag:
                storage.resize(base_frag_shader::size);
                memcpy(storage.data(), base_frag_shader::data, base_frag_shader::size);
                break;
            }
            return true;
        }

        bool get_imgui_font(utl::filebytes &storage)
        {
            storage.resize(imgui_font_data::size);
            memcpy(storage.data(), imgui_font_data::data, imgui_font_data::size);
            return true;
        }
    } // namespace res

} // namespace primal

#endif